Development Issues for a Networked, Object Oriented Gaming Architecture (nooga) Teaching Tool

نویسندگان

  • Owen L. Astrachan
  • David Bernstein
  • Andrew English
  • Benjamin Koh
چکیده

We describe the outcome and experience of trying to develop an architecture and framework for a Networked Object Oriented Gaming Architecture (NOOGA). The aim of this project was to create an easily extensible framework that facilitates teaching students about object oriented design, design patterns, and software engineering in an interesting context. Our original goal was to develop a game serve to serve multi-player games such as battleship, dots, and Boggle. We planned to implement these three games, but to design an extensible server that would permit new games to be added to the server framework. The NOOGA framework would be studied and used from both a client and server standpoint. Students would first develop clients that would connect to the server to play a specific game and would, in more advanced courses, add new games to the server. This paper will focus on the development process and design decisions made during development. We initially decided to implement the client/server model using Java’s Remote Method Invocation (RMI). Later, we developed a protocol for communicating between the server and clients using low-level sockets to facilitate client implementation in C and C++. We describe the success in developing an extensible server, but describe failures in ensuring robustness in the face of faulty clients. Since the NOOGA server was intended to facilitate student development of networked clients, our original goals were not fully realized.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Availability evaluation of Software architecture of object oriented Style using coloured Petri nets

Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...

متن کامل

Teaching Object-oriented Programming using Object Benches: Practical Experience

In this paper we summarize our long-term experiences with teaching object-oriented programming in university courses using teaching support tools called object benches. We describe four software tools: BlueJ, Greenfoot, Alice and Visual Studio’s Object test bench. Common feature of those tools is runtime access to objects, their attributes and operations. We present our experience with using ob...

متن کامل

A Reference Architecture for Automation of Inter-Organizational Process-Oriented Collaboration

In today’s competitive, dynamic, and changing business environment, being able to collaborate globally within and beyond the enterprise borders is critical. Inter-Organizational Collaborations (IOCs) have been proposed as a response to the characteristics of highly competitive global business environments. So far, a number of reference models, frameworks, and ad hoc architectures related to som...

متن کامل

Context-Based Integrative Educational Technique in Profession-Oriented Foreign Language Teaching (Academic Model United Nations)

The aim of the article is to examine the Academic Model United Nations (Model UN) as a context-based integrative educational technique in profession-oriented foreign language teaching (FLT); to point out the context-based integrative nature of profession-oriented language learning and highlight the importance of using product-based educational techniques in FLT for developing students’ future p...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006